/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.edu.pucp.dp1.TSPSolution.view.componentes;

import java.awt.event.*;
import javax.swing.*;
import pe.edu.pucp.dp1.TSPSolution.view.*;
import pe.edu.pucp.dp1.TSPSolution.view.Seg.*;
import pe.edu.pucp.dp1.TSPSolution.view.pla.*;
import pe.edu.pucp.dp1.TSPSolution.view.sim.*;
import pe.edu.pucp.dp1.TSPSolution.view.ventas.*;
/**
 *
 * @author apple
 */
public class Index extends JFrame{
    // <editor-fold defaultstate="collapsed" desc="Declaración de variables">
    
    private JMenuItem mniPedidos_Planificar;
    private JMenuItem mniPedidos_Recoger;
    private JMenuItem mniPedidos_Buscar;
    private JMenuItem mniPedidos_Movimientos;
    private JMenuItem mniPedidos_Rutas;
    private JMenuItem mniPedidos_Itinerario;
    private JMenu mniVentas;
    private JMenuItem mniVentas_Registrar;
    private JMenuItem mniVentas_Anular;
    private JMenuItem mniVentas_Buscar;
    
    private JMenuItem mniSatAlmacen;
    
    private JMenuItem mniSatVuelo;
    
    private JMenuItem mniFrecVuelo;
    
    private JMenuItem mniContingencia;
    
    private JMenu mniClientes;
    private JMenuItem mniClientes_Registrar;
    private JMenuItem mniClientes_Modificar;
    private JMenuItem mniClientes_Buscar;
    
    private JMenu mniServicio;
    private JMenuItem mniServicio_Registrar;
    private JMenuItem mniServicio_Modificar;
    private JMenuItem mniServicio_Buscar;
    
    private JMenu mniVuelos;
    private JMenuItem mniVuelos_Registrar;
    private JMenuItem mniVuelos_Buscar;
    
    private JMenu mniAlmacenes;
    private JMenuItem mniAlmacenes_Registrar;
    private JMenuItem mniAlmacenes_Buscar;
    
    private JMenu mniEmpleados;
    private JMenuItem mniEmpleados_Registrar;
    private JMenuItem mniEmpleados_Modificar;
    private JMenuItem mniEmpleados_Buscar;
    
    private JMenu mniUsuarios;
    private JMenuItem mniUsuarios_Registrar;
    private JMenuItem mniUsuarios_Modificar;
    private JMenuItem mniUsuarios_Buscar;
    
    private JMenu mniPerfiles;
    private JMenuItem mniPerfiles_Registrar;
    private JMenuItem mniPerfiles_Modificar;
    private JMenuItem mniPerfiles_Buscar;
    
    private JMenu mniParametros;
    private JMenuItem mniParametros_Registrar;
    private JMenuItem mniParametros_Modificar;
    private JMenuItem mniParametros_Buscar;
    
    //private JMenu mnEnvios;
    private JMenu mnPedidos;
    private JMenu mnSimu;
    private JMenu mnAdmin;
    private JMenu mnReportes;
    private JMenu mnConfig;
    private JMenuBar mbMenu;
    // </editor-fold>
    
    public Index() {
        initComponents();
    }
    
    public void addContentPane(JPanel panel){
        //content panes must be opaque
        panel.setOpaque(true); 
        this.getContentPane().add(panel);  
        
        pack();
        
    }
         
    
    public void changeContentPane(JPanel panel){  
        this.getContentPane().removeAll();
        //Pass the frame f reference only into MainDisplay, it doesn't actually do anything apart from allowing a class to add a JMenuBar on the JFrame.
        
        this.getContentPane().invalidate();
         this.getContentPane().validate();
        //this.getContentPane().validate();
        this.getContentPane().repaint();
        //this.remove(this.getContentPane());
        
        this.addContentPane(panel);
       pack();  
    }
    
    private void initComponents() {
        // <editor-fold defaultstate="collapsed" desc="Inicialización de variables">
        /*Declaración de JMenuItem*/
        mnPedidos = new JMenu();
        mniPedidos_Planificar = new JMenuItem();
        mniPedidos_Recoger = new JMenuItem();
        mniPedidos_Buscar = new JMenuItem();
        mniPedidos_Movimientos = new JMenuItem();
        mniPedidos_Rutas = new JMenuItem();
        mniPedidos_Itinerario = new JMenuItem();
        mniVentas = new JMenu();
        mniVentas_Registrar = new JMenuItem();
        mniVentas_Anular = new JMenuItem();
        mniVentas_Buscar  = new JMenuItem();
        
        mniSatAlmacen = new JMenuItem();
        mniSatVuelo = new JMenuItem();
        mniFrecVuelo = new JMenuItem();
        mniContingencia = new JMenuItem();
        
        mniClientes = new JMenu();
        mniClientes_Registrar = new JMenuItem();
        mniClientes_Modificar = new JMenuItem();
        mniClientes_Buscar = new JMenuItem();
        
        mniServicio = new JMenu();
        mniServicio_Registrar = new JMenuItem();
        mniServicio_Modificar = new JMenuItem();
        mniServicio_Buscar = new JMenuItem();
        
        mniVuelos = new JMenu();
        mniVuelos_Registrar = new JMenuItem();
        mniVuelos_Buscar = new JMenuItem();
        
        mniAlmacenes = new JMenu();
        mniAlmacenes_Registrar = new JMenuItem();
        mniAlmacenes_Buscar = new JMenuItem();       
        
        mniEmpleados = new JMenu();
        mniEmpleados_Registrar = new JMenuItem();
        mniEmpleados_Modificar = new JMenuItem();
        mniEmpleados_Buscar = new JMenuItem();
        
        mniUsuarios = new JMenu();
        mniUsuarios_Registrar = new JMenuItem();
        mniUsuarios_Modificar = new JMenuItem();
        mniUsuarios_Buscar = new JMenuItem();
        
        mniPerfiles = new JMenu();
        mniPerfiles_Registrar = new JMenuItem();
        mniPerfiles_Modificar = new JMenuItem();
        mniPerfiles_Buscar = new JMenuItem();
        
        mniParametros = new JMenu();
        mniParametros_Registrar = new JMenuItem();
        mniParametros_Modificar = new JMenuItem();
        mniParametros_Buscar = new JMenuItem();
        
        /*Declaración de JMenu y JMenuBar*/
        mbMenu = new JMenuBar();
        mnPedidos = new JMenu();
        mnSimu = new JMenu();
        mnAdmin = new JMenu();
        mnReportes = new JMenu();
        mnConfig = new JMenu();

        // </editor-fold>
          
        // <editor-fold defaultstate="collapsed" desc="Pedidos">
        mniPedidos_Planificar.setText("Planificar");
        mniPedidos_Recoger.setText("Recoger");
        mniPedidos_Buscar.setText("Buscar");
        mniPedidos_Movimientos.setText("Movimientos");
        mniPedidos_Rutas.setText("Rutas");
        mniPedidos_Itinerario.setText("Itinerario");
        
        mnPedidos.add(mniPedidos_Planificar);
        mnPedidos.add(mniPedidos_Recoger);
        mnPedidos.add(mniPedidos_Buscar);
        mnPedidos.add(mniPedidos_Movimientos);
        mnPedidos.add(mniPedidos_Rutas);
        mnPedidos.add(mniPedidos_Itinerario);
        
        mniPedidos_Planificar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_RegistrarPedido f = new Frm_RegistrarPedido();
                changeContentPane(f); 
            }
        });
        
        mniPedidos_Recoger.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_RecogerPedido f = new Frm_RecogerPedido();
                changeContentPane(f); 
            }
        });
        
        mniPedidos_Buscar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_BuscarPedido f = new Frm_BuscarPedido();
                changeContentPane(f); 
            }
        });
        
        mniPedidos_Movimientos.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_InOutAlmacen f = new Frm_InOutAlmacen();
                changeContentPane(f); 
            }
        });
        
        mniPedidos_Rutas.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_ConsultarRuta f = new Frm_ConsultarRuta();
                changeContentPane(f); 
            }
        });
        
        mniPedidos_Itinerario.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_ConsultarItinerario f = new Frm_ConsultarItinerario();
                changeContentPane(f); 
            }
        });
        
        
        // </editor-fold>
        
        // <editor-fold defaultstate="collapsed" desc="Pedidos - Ventas">
        mniVentas.setText("Ventas");
        mniVentas_Registrar.setText("Registrar");
        mniVentas_Anular.setText("Anular");
        mniVentas_Buscar.setText("Buscar");

        mniVentas.add(mniVentas_Registrar);
        mniVentas.add(mniVentas_Anular);
        mniVentas.add(mniVentas_Buscar);
        mnPedidos.add(mniVentas);
        
        mniVentas_Registrar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_RealizarPago f = new Frm_RealizarPago();
                changeContentPane(f); 
            }
        });
        // </editor-fold>
        
        // <editor-fold defaultstate="collapsed" desc="Simulación">
        mniSatAlmacen.setText("Saturación Almacén");
        mnSimu.add(mniSatAlmacen);
        mniSatAlmacen.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_SimularSatAlmacen f = new Frm_SimularSatAlmacen();
                changeContentPane(f); 
            }
        });
        
        mniSatVuelo.setText("Saturación Vuelo");
        mnSimu.add(mniSatVuelo);
        mniSatVuelo.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_SimularSatVuelo f = new Frm_SimularSatVuelo();
                changeContentPane(f); 
            }
        });
        
        mniFrecVuelo.setText("Frecuencia Vuelo");
        mnSimu.add(mniFrecVuelo);
        mniFrecVuelo.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_SimularFrecVuelo f = new Frm_SimularFrecVuelo();
                changeContentPane(f); 
            }
        });
        
        mniContingencia.setText("Contingencias");
        mnSimu.add(mniContingencia);
        mniContingencia.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_SimularContingencia f = new Frm_SimularContingencia();
                changeContentPane(f); 
            }
        });
        // </editor-fold>
        
        // <editor-fold defaultstate="collapsed" desc="Administración - Clientes">
        mniClientes.setText("Clientes");
        mniClientes_Registrar.setText("Registrar");
        mniClientes_Modificar.setText("Modificar");
        mniClientes_Buscar.setText("Buscar");
        mniClientes.add(mniClientes_Registrar);
        mniClientes.add(mniClientes_Modificar);
        mniClientes.add(mniClientes_Buscar);
        mnAdmin.add(mniClientes);
 
        mniClientes_Registrar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_RegistrarCliente f = new Frm_RegistrarCliente();
                changeContentPane(f); 
            }
        });
        
        mniClientes_Modificar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_ModificarCliente f = new Frm_ModificarCliente();
                changeContentPane(f); 
            }
        });
         
        mniClientes_Buscar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_ConsultarCliente f = new Frm_ConsultarCliente();
                changeContentPane(f); 
            }
        });
        
        // </editor-fold>
        
        // <editor-fold defaultstate="collapsed" desc="Administración - Servicios">
        mniServicio.setText("Servicios");
        mniServicio_Registrar.setText("Registrar");
        mniServicio_Modificar.setText("Modificar");
        mniServicio_Buscar.setText("Buscar");
        mniServicio.add(mniServicio_Registrar);
        mniServicio.add(mniServicio_Modificar);
        mniServicio.add(mniServicio_Buscar);
        mnAdmin.add(mniServicio);
        
        mniServicio_Registrar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_RegistrarServicio f = new Frm_RegistrarServicio();
                changeContentPane(f); 
            }
        });
        
        mniServicio_Modificar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_ModificarServicio f = new Frm_ModificarServicio();
                changeContentPane(f); 
            }
        });
        
        mniServicio_Buscar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_ConsultarServicio f = new Frm_ConsultarServicio();
                changeContentPane(f); 
            }
        });
        // </editor-fold>
        
        // <editor-fold defaultstate="collapsed" desc="Administración - Vuelos">
        mniVuelos.setText("Vuelos");
        mniVuelos_Registrar.setText("Registrar");
        mniVuelos_Buscar.setText("Buscar");
        mniVuelos.add(mniVuelos_Registrar);
        mniVuelos.add(mniVuelos_Buscar);
        mnAdmin.add(mniVuelos);
        
        mniVuelos_Registrar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_RegistrarVuelos f = new Frm_RegistrarVuelos ();
                changeContentPane(f); 
            }
        });
        
        mniVuelos_Buscar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_ConsultarVuelo f = new Frm_ConsultarVuelo();
                changeContentPane(f); 
            }
        });
        // </editor-fold>
        
        // <editor-fold defaultstate="collapsed" desc="Administración - Almacenes">
        mniAlmacenes.setText("Almacenes");
        mniAlmacenes_Registrar.setText("Registrar");
        mniAlmacenes_Buscar.setText("Buscar");
        mniAlmacenes.add(mniAlmacenes_Registrar);
        mniAlmacenes.add(mniAlmacenes_Buscar);
        mnAdmin.add(mniAlmacenes);
        
        mniAlmacenes_Registrar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_RegistrarAlmacen f = new Frm_RegistrarAlmacen ();
                changeContentPane(f); 
            }
        });
        
        mniAlmacenes_Buscar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_ConsultarAlmacen f = new Frm_ConsultarAlmacen ();
                changeContentPane(f); 
            }
        });
        // </editor-fold>
        
        // <editor-fold defaultstate="collapsed" desc="Administración - Empleados">
        mniEmpleados.setText("Empleados");
        mniEmpleados_Registrar.setText("Registrar");
        mniEmpleados_Modificar.setText("Modificar");
        mniEmpleados_Buscar.setText("Buscar");
        mniEmpleados.add(mniEmpleados_Registrar);
        mniEmpleados.add(mniEmpleados_Modificar);
        mniEmpleados.add(mniEmpleados_Buscar);
        mnAdmin.add(mniEmpleados);
        
        mniEmpleados_Registrar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_RegistrarEmpleado f = new Frm_RegistrarEmpleado ();
                changeContentPane(f); 
            }
        });
        
        mniEmpleados_Modificar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_ModificarEmpleado f = new Frm_ModificarEmpleado ();
                changeContentPane(f); 
            }
        });
        
        mniEmpleados_Buscar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_ConsultarEmpleado f = new Frm_ConsultarEmpleado ();
                changeContentPane(f); 
            }
        });
        // </editor-fold>
        
        // <editor-fold defaultstate="collapsed" desc="Configuración - Usuarios">
        mniUsuarios.setText("Usuarios");
        mniUsuarios_Registrar.setText("Registrar");
        mniUsuarios_Modificar.setText("Modificar");
        mniUsuarios_Buscar.setText("Buscar");
        mniUsuarios.add(mniUsuarios_Registrar);
        mniUsuarios.add(mniUsuarios_Modificar);
        mniUsuarios.add(mniUsuarios_Buscar);
        mnConfig.add(mniUsuarios);
        
        mniUsuarios_Registrar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_NuevoUsuario f = new Frm_NuevoUsuario ();
                changeContentPane(f); 
            }
        });
        
        mniUsuarios_Modificar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_EditarUsuario f = new Frm_EditarUsuario ();
                changeContentPane(f); 
            }
        });
        
        mniUsuarios_Buscar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_BuscarUsuario f = new Frm_BuscarUsuario ();
                changeContentPane(f); 
            }
        });
        // </editor-fold>
        
        // <editor-fold defaultstate="collapsed" desc="Configuración - Perfiles">
        mniPerfiles.setText("Perfiles");
        mniPerfiles_Registrar.setText("Registrar");
        mniPerfiles_Modificar.setText("Modificar");
        mniPerfiles_Buscar.setText("Buscar");
        mniPerfiles.add(mniPerfiles_Registrar);
        mniPerfiles.add(mniPerfiles_Modificar);
        mniPerfiles.add(mniPerfiles_Buscar);
        mnConfig.add(mniPerfiles);
        
        mniPerfiles_Registrar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_NuevoPerfil f = new Frm_NuevoPerfil ();
                changeContentPane(f); 
            }
        });
        
        mniPerfiles_Modificar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_EditarPerfil f = new Frm_EditarPerfil ();
                changeContentPane(f); 
            }
        });
        
        mniPerfiles_Buscar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Frm_BuscarPerfil f = new Frm_BuscarPerfil ();
                changeContentPane(f); 
            }
        });
        // </editor-fold>
        
        // <editor-fold defaultstate="collapsed" desc="Configuración - Parametros">
//        mniParametros.setText("Parámetros");
//        mniParametros_Registrar.setText("Registrar");
//        mniParametros_Modificar.setText("Modificar");
//        mniParametros_Buscar.setText("Buscar");
//        mniParametros.add(mniParametros_Registrar);
//        mniParametros.add(mniParametros_Modificar);
//        mniParametros.add(mniParametros_Buscar);
//        mnConfig.add(mniParametros);
        // </editor-fold>
        
        // <editor-fold defaultstate="collapsed" desc="Menú">
        mnPedidos.setText("Pedidos");
        mbMenu.add(mnPedidos);

        mnSimu.setText("Simulación");
        mbMenu.add(mnSimu);

        mnAdmin.setText("Administración");
        mbMenu.add(mnAdmin);

        mnReportes.setText("Reportes");
        mbMenu.add(mnReportes);

        mnConfig.setText("Configuración");
        mbMenu.add(mnConfig);
        // </editor-fold>
        
        setJMenuBar(mbMenu);
        setTitle("TSP Solution System");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(800, 600);  
        setResizable(true);
    }  
    
}
